/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package frames;

import graduandos.Datos;
import java.awt.Cursor;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import java.util.Random;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Jesus
 */
public class Principal extends javax.swing.JFrame {

    /**
     * Creates new form Principal
     */
    Inventario v_inventario = new Inventario();
    Servidorh1 v_servidorh1;
    Servidorh2 v_servidorh2;
    Servidorm1 v_servidorm1;
    Servidorm2 v_servidorm2;
    Mostradores v_mostradores;
    Lavanderia v_lavanderia;
    Ganancias v_ganancias;
    List<Datos> entregas;
    Hilo h = new Hilo();
    Hilo2 h2 = new Hilo2();
    Hilo3 h3 = new Hilo3();
    Hilo4 h4 = new Hilo4();
    Hilo5 h5 = new Hilo5();
    Hilo6 h6 = new Hilo6();
    Hilo7 h7 = new Hilo7();
    
    Inventario inven = new Inventario();
    int horas = 8, minutos = 0, segundos = 0;
    int llega = 80000, tiempo = 80000;
    int dia_semana = 1, semana = 1;
    int he = 0, hm = 0, hs = 0, hg = 0, hc = 0, hn = 0, me = 0,
            mm = 0, ms = 0, mg = 0, mc = 0, mn = 0, ho = 0, m = 0;
    int colash1 = 0, colash2 = 0, colasm1 = 0, colasm2 = 0, colae = 0;
    char tamanio;
    int velocidad_seg = 60;
    int no_alquilo = 0;
    float Lambda = (float) 0.33, Mu;
    float W, Wq, Wq1, Wq2, Wq3, Wq4;
    int cola_clientes = 0, cola1 = 0, cola2 = 0, cola3 = 0, cola4 = 0;
    float tiempo_cola = 0, tiempo_cola1 = 0, tiempo_cola2 = 0, tiempo_cola3 = 0, tiempo_cola4 = 0;
    float L, Lq, Lq1, Lq2, Lq3, Lq4;
    float tsuc=0, tsucq1=0, tsucq2=0, tsucq3=0, tsucq4=0;
    float P0=0;
    
    char s_tipo;
    int s_babero;
    char s_sexo;

    public Principal() {
        initComponents();
        v_inventario = new Inventario();
        v_servidorh1 = new Servidorh1();
        v_servidorh2 = new Servidorh2();
        v_servidorm1 = new Servidorm1();
        v_servidorm2 = new Servidorm2();
        v_mostradores = new Mostradores();
        v_lavanderia = new Lavanderia();
        v_ganancias = new Ganancias();
        _btnDetener.setVisible(false);
        _btnPausar.setVisible(false);
        _btnReanudar.setVisible(false);
        entregas = new ArrayList<Datos>();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        _cronometro = new javax.swing.JLabel();
        _btnIniciar = new javax.swing.JButton();
        _btnPausar = new javax.swing.JButton();
        _btnReanudar = new javax.swing.JButton();
        _btnDetener = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        jLabel5 = new javax.swing.JLabel();
        jPanel5 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        jPanel6 = new javax.swing.JPanel();
        jLabel7 = new javax.swing.JLabel();
        jPanel7 = new javax.swing.JPanel();
        jLabel8 = new javax.swing.JLabel();
        jPanel8 = new javax.swing.JPanel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        _Dia = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        _Semana = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Alquileres de Togas y Birretes");
        setBounds(new java.awt.Rectangle(100, 50, 800, 600));
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setMinimumSize(new java.awt.Dimension(800, 600));
        setResizable(false);
        addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Mujer2(evt);
            }
        });

        _cronometro.setFont(new java.awt.Font("Tahoma", 1, 28)); // NOI18N
        _cronometro.setText("08:00:00 AM");

        _btnIniciar.setText("Iniciar");
        _btnIniciar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                _btnIniciarMouseClicked(evt);
            }
        });

        _btnPausar.setText("Pausar");
        _btnPausar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                _btnPausarMouseClicked(evt);
            }
        });

        _btnReanudar.setText("Reanudar");
        _btnReanudar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        _btnReanudar.setMaximumSize(new java.awt.Dimension(65, 23));
        _btnReanudar.setMinimumSize(new java.awt.Dimension(65, 23));
        _btnReanudar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                _btnReanudarMouseClicked(evt);
            }
        });

        _btnDetener.setText("Detener");
        _btnDetener.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                _btnDetenerMouseClicked(evt);
            }
        });

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/fondo.png"))); // NOI18N
        jLabel1.setAlignmentY(0.0F);

        jPanel1.setAlignmentX(0.0F);
        jPanel1.setAlignmentY(0.0F);
        jPanel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        jPanel1.setMaximumSize(new java.awt.Dimension(211, 414));
        jPanel1.setMinimumSize(new java.awt.Dimension(211, 414));
        jPanel1.setPreferredSize(new java.awt.Dimension(211, 414));
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Vestidor(evt);
            }
        });
        jPanel1.setLayout(null);

        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/vestidores.jpg"))); // NOI18N
        jLabel2.setAlignmentY(0.0F);
        jPanel1.add(jLabel2);
        jLabel2.setBounds(0, 0, 210, 420);

        jPanel2.setAlignmentX(0.0F);
        jPanel2.setAlignmentY(0.0F);
        jPanel2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Inventario(evt);
            }
        });
        jPanel2.setLayout(null);

        jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/inventario.jpg"))); // NOI18N
        jLabel3.setAlignmentY(0.0F);
        jPanel2.add(jLabel3);
        jLabel3.setBounds(0, 0, 516, 198);

        jPanel3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Mujer1(evt);
            }
        });
        jPanel3.setLayout(null);

        jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/servidorM1.jpg"))); // NOI18N
        jLabel4.setAlignmentY(0.0F);
        jPanel3.add(jLabel4);
        jLabel4.setBounds(0, 0, 80, 72);

        jPanel4.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Hombre1(evt);
            }
        });
        jPanel4.setLayout(null);

        jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/servidorH1.jpg"))); // NOI18N
        jLabel5.setAlignmentY(0.0F);
        jPanel4.add(jLabel5);
        jLabel5.setBounds(0, 0, 87, 76);

        jPanel5.setLayout(null);

        jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/servidorM2.jpg"))); // NOI18N
        jLabel6.setAlignmentY(0.0F);
        jPanel5.add(jLabel6);
        jLabel6.setBounds(0, 0, 78, 78);

        jPanel6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Hombre2(evt);
            }
        });
        jPanel6.setLayout(null);

        jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/servidorH2.jpg"))); // NOI18N
        jLabel7.setAlignmentY(0.0F);
        jPanel6.add(jLabel7);
        jLabel7.setBounds(0, 0, 81, 70);

        jPanel7.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Entrega(evt);
            }
        });
        jPanel7.setLayout(null);

        jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/servidorE1.jpg"))); // NOI18N
        jLabel8.setAlignmentY(0.0F);
        jPanel7.add(jLabel8);
        jLabel8.setBounds(0, 0, 76, 76);

        jPanel8.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Panel_Ganancias(evt);
            }
        });
        jPanel8.setLayout(null);

        jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/recursos/imagenes/imagenes/ganancias.jpg"))); // NOI18N
        jPanel8.add(jLabel9);
        jLabel9.setBounds(0, 0, 61, 42);

        jLabel10.setFont(new java.awt.Font("Tahoma", 1, 28)); // NOI18N
        jLabel10.setText("Día:");

        _Dia.setFont(new java.awt.Font("Tahoma", 1, 28)); // NOI18N
        _Dia.setText("Lunes");

        jLabel12.setFont(new java.awt.Font("Tahoma", 1, 28)); // NOI18N
        jLabel12.setText("Semana:");

        _Semana.setFont(new java.awt.Font("Tahoma", 1, 28)); // NOI18N
        _Semana.setText("1");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(277, 277, 277)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235)
                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(17, 17, 17)
                .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(520, 520, 520)
                .addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(251, 251, 251)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 516, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(650, 650, 650)
                .addComponent(_Semana, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(360, 360, 360)
                .addComponent(_Dia, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(80, 80, 80)
                .addComponent(_btnIniciar, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(_cronometro, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(_btnReanudar, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(290, 290, 290)
                .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(380, 380, 380)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(130, 130, 130)
                .addComponent(_btnDetener, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(641, 641, 641)
                .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(479, 479, 479)
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(_btnPausar, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(17, 17, 17)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 800, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(253, 253, 253)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(2, 2, 2)
                        .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(109, 109, 109)
                .addComponent(jLabel12))
            .addGroup(layout.createSequentialGroup()
                .addGap(15, 15, 15)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(440, 440, 440)
                .addComponent(_Semana))
            .addGroup(layout.createSequentialGroup()
                .addGap(440, 440, 440)
                .addComponent(_Dia))
            .addGroup(layout.createSequentialGroup()
                .addGap(80, 80, 80)
                .addComponent(_btnIniciar, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(_cronometro, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(80, 80, 80)
                .addComponent(_btnReanudar, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(440, 440, 440)
                .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(248, 248, 248)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(81, 81, 81)
                .addComponent(_btnDetener, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(341, 341, 341)
                .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(258, 258, 258)
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(80, 80, 80)
                .addComponent(_btnPausar, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGroup(layout.createSequentialGroup()
                .addGap(130, 130, 130)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        _cronometro.getAccessibleContext().setAccessibleName("_cronometro");
        jPanel1.getAccessibleContext().setAccessibleName("");

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void _btnIniciarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event__btnIniciarMouseClicked
        // TODO add your handling code here:
        if (!h.isAlive()) {
            h.start();
            h2.start();
        }
        _btnDetener.setVisible(true);
        _btnPausar.setVisible(true);
        _btnIniciar.setVisible(false);
    }//GEN-LAST:event__btnIniciarMouseClicked

    private void Panel_Vestidor(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Vestidor
        // TODO add your handling code here:
        if(!v_mostradores.isVisible()){
            v_mostradores.show();
        }
        System.out.println("click vestidores");
    }//GEN-LAST:event_Panel_Vestidor

    private void Panel_Inventario(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Inventario
        // TODO add your handling code here:
        if(!v_inventario.isVisible()){
            v_inventario.show();
        }
        System.out.println("click inventario");
    }//GEN-LAST:event_Panel_Inventario

    private void Panel_Mujer1(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Mujer1
        // TODO add your handling code here:
        if(!v_servidorm1.isVisible()){
            v_servidorm1.show();
        }
        System.out.println("click servidor mujer 1");
    }//GEN-LAST:event_Panel_Mujer1

    private void Panel_Hombre1(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Hombre1
        // TODO add your handling code here:
        if(!v_servidorh1.isVisible()){
            v_servidorh1.show();
        }
        System.out.println("click servidor hombre 1");
        
    }//GEN-LAST:event_Panel_Hombre1

    private void Panel_Hombre2(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Hombre2
        // TODO add your handling code here:
        if(!v_servidorh2.isVisible()){
            v_servidorh2.show();
        }
        System.out.println("click servidor hombre 2");
    }//GEN-LAST:event_Panel_Hombre2

    private void Panel_Entrega(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Entrega
        // TODO add your handling code here:
        System.out.println("click servidor de entregas");
        if(!v_lavanderia.isVisible()){
            v_lavanderia.show();
        }
    }//GEN-LAST:event_Panel_Entrega

    private void Panel_Ganancias(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Ganancias
        // TODO add your handling code here:
        v_ganancias.mostar_ganancias(v_inventario);
        if(!v_ganancias.isVisible())
            v_ganancias.show();
        System.out.println("click ganancias");
    }//GEN-LAST:event_Panel_Ganancias

    private void _btnDetenerMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event__btnDetenerMouseClicked
        // TODO add your handling code here:
        
        if(cola_clientes==0)
            cola_clientes=1;
        if(cola1==0)
            cola1=1;
        if(cola2==0)
            cola2=1;
        if(cola3==0)
            cola3=1;
        if(cola4==0)
            cola4=1;
        
        
        P0 = (float)calculateP0(2, 0.33, 0.25);
        //L = calculateL(Lambda, 0.25, P0, m);
        
        
        W = tiempo_cola/cola_clientes;
        Wq1 = tiempo_cola1/cola1;
        Wq2 = tiempo_cola2/cola2;
        Wq3 = tiempo_cola3/cola3;
        Wq4 = tiempo_cola4/cola4;
        
        _btnDetener.setVisible(false);
        _btnIniciar.setVisible(false);
        _btnPausar.setVisible(false);
        _btnReanudar.setVisible(false);
        h.stop();
        h2.stop();
        System.out.println("\n");
        System.out.println("hmbres especialistas->" + he);
        System.out.println("hombres magister->" + hm);
        System.out.println("hombres sumacumlaude->" + hs);
        System.out.println("hombres magnacumlaudes->" + hg);
        System.out.println("hombres cumlaudes->" + hc);
        System.out.println("hombres normales->" + hn);
        System.out.println("");
        System.out.println("mujeres especialistas->" + me);
        System.out.println("mujeres magister->" + mm);
        System.out.println("mujeres sumacumlaudes->" + ms);
        System.out.println("mujeres magnacumlaudes->" + mg);
        System.out.println("mujeres cumlaudes->" + mc);
        System.out.println("mujeres normales->" + mn);
        System.out.println("");
        System.out.println("hombres->" + ho + "   mujeres->" + m);
        System.out.println("\n\n");
        System.out.println("Cola de Hombres en el servidor de hombres 1 " + colash1);
        System.out.println("Cola de Hombres en el servidor de hombres 2 " + colash2);
        System.out.println("Cola de Hombres en el servidor de mujeres 1 " + colasm1);
        System.out.println("Cola de Hombres en el servidor de mujeres 2 " + colasm2);
        System.out.println("Cola de Hombres en el servidor de entrega " + colae);
        System.out.println("\n");
        System.out.println("Cantidad de personas que no alquilaron -> "+no_alquilo);
        System.out.println("\n");
        System.out.println("Toga negra pequeña " + v_inventario.togas_negra_pequeñas);
        System.out.println("Toga negra mediana " + v_inventario.togas_negra_medianas);
        System.out.println("Toga negra grande " + v_inventario.togas_negra_grandes);
        System.out.println("Toga especialista pequeña " + v_inventario.togas_especialistas_pequeñas);
        System.out.println("Toga especialista mediana " + v_inventario.togas_especialistas_medianas);
        System.out.println("Toga especialista grande " + v_inventario.togas_especialistas_grandes);
        System.out.println("Toga magister pequeña " + v_inventario.togas_magister_pequeñas);
        System.out.println("Toga magister mediana " + v_inventario.togas_magister_medianas);
        System.out.println("Toga magister grande " + v_inventario.togas_magister_grandes);
        System.out.println("Toga sumacumlaude pequeña " + v_inventario.togas_cumlaude_pequeñas);
        System.out.println("Toga sumacumlaude mediana " + v_inventario.togas_cumlaude_medianas);
        System.out.println("Toga sumacumlaude grande " + v_inventario.togas_cumlaude_grandes);
        System.out.println("babero pequeño " + v_inventario.baberos_pequeños);
        System.out.println("babero mediano " + v_inventario.baberos_medianos);
        System.out.println("babero grande " + v_inventario.baberos_grandes);
        System.out.println("birrete negro " + v_inventario.birretes_negros);
        System.out.println("birrete blanco " + v_inventario.birretes_blancos);
        System.out.println("ganancias " + v_inventario.ganancia);
        System.out.println("\n");
        System.out.println("Tiempo esperado en cola en el sistema W -> "+W/60+" minutos");
        System.out.println("Tiempo esperado en cola de hombres servidor 1 Wq1 -> "+Wq1/60+" minutos");
        System.out.println("Tiempo esperado en cola de hombres servidor 2 Wq2 -> "+Wq2/60+" minutos");
        System.out.println("Tiempo esperado en cola de mujer servidor 1 Wq3 -> "+Wq3/60+" minutos");
        System.out.println("Tiempo esperado en cola de mujer servidor 2 Wq4 -> "+Wq4/60+" minutos");
        System.out.println("\n");
        System.out.println("Numero esperado de clientes en el sistema L -> "+0.33*W/60);
        System.out.println("Numero esperado de clientes en cola de hombres servidor 1 Lq1 -> "+0.33*+Wq1/60);
        System.out.println("Numero esperado de clientes en cola de hombres servidor 2 Lq2 -> "+0.33*+Wq2/60);
        System.out.println("Numero esperado de clientes en cola de mujer servidor 1 Lq3 -> "+0.33*+Wq3/60);
        System.out.println("Numero esperado de clientes en cola de mujer servidor 2 Lq4 -> "+0.33*+Wq4/60);

    }//GEN-LAST:event__btnDetenerMouseClicked

    private void _btnPausarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event__btnPausarMouseClicked
        // TODO add your handling code here:
        _btnReanudar.setVisible(true);
        _btnPausar.setVisible(false);
        h.suspend();
        h2.suspend();
    }//GEN-LAST:event__btnPausarMouseClicked

    private void _btnReanudarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event__btnReanudarMouseClicked
        // TODO add your handling code here:
        _btnPausar.setVisible(true);
        _btnReanudar.setVisible(false);
        h.resume();
        h2.resume();
    }//GEN-LAST:event__btnReanudarMouseClicked

    private void Panel_Mujer2(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_Panel_Mujer2
        // TODO add your handling code here:
        if(!v_servidorm2.isVisible()){
            v_servidorm2.show();
        }
        System.out.println("click servidor mujer 2");
    }//GEN-LAST:event_Panel_Mujer2

    public void calculateL(double Lambda,double Mu,double P0, double C) { 
        double factorial = 1;
        for (int i = 1; i <= C-1; i++) {
            factorial*=i;
        }
        L = (float) ((((Lambda * Mu * Math.pow((Lambda / Mu), C)) / (factorial * (Math.pow((C * Mu) - Lambda, 2)))) * P0) + (Lambda / Mu));
    }  
  
    public void calculateLQ(double Lambda,double Mu,double P0, double C) {  
        double factorial = 1;
        for (int i = 1; i <= C-1; i++) {
            factorial*=i;
        }
        Lq = (float)(((Lambda * Mu * Math.pow((Lambda / Mu), C)) / (factorial * (Math.pow((C * Mu) - Lambda, 2)))) * P0);  
  
    }  
  
    public void calculateW(double Lambda,double Mu,double P0, double C) {  
        double factorial = 1;
        for (int i = 1; i <= C-1; i++) {
            factorial*=i;
        }
        W = (float) (((((Mu * Math.pow((Lambda / Mu), C)) / (factorial - 1) * (Math.pow((C * Mu) - Lambda, 2)))) * P0) + (1 / Mu));  
    }  
  
    public void calculateWQ(double Lambda,double Mu,double P0, double C) {  
        double factorial = 1;
        for (int i = 1; i <= C - 1; i++) {
            factorial *= i;
        }
        Wq = (float) (((Mu * Math.pow((Lambda / Mu), C)) / (factorial * (Math.pow((C * Mu) - Lambda, 2)))) * P0);
    }

    private double calculateP0(double S, double Lambda, double Mu) {
        double holdP0 = 0;
        double tempP0 = 0;
        double factorial = 1;
        for (int n = 1; n <= S - 1; n++) {
            for (int j = 1; j <= n; j++) {
                factorial *= j;
            }

            tempP0 += (1 / factorial) * (Math.pow(Lambda, n) / Math.pow(Mu, n));
        }
        factorial = 1;
        for (int j = 1; j <= S - 1; j++) {
            factorial *= j;
        }
        holdP0 = 1 + tempP0 + ((Math.pow(Lambda, S)) / (factorial * Math.pow(Mu, S - 1)) * (S * Mu - Lambda));
        return 1 / holdP0;
        /*double holdP0 = 0;
        double factorial = 1;
        for (int k = 0; k <= C - 1; k++) {
            for (int i = 1; i <= k; i++) {
                factorial *= k;
            }
            double tempP0;
            tempP0 = ((1 / (factorial)) * (Math.pow(a, k)));
            holdP0 = holdP0 + tempP0;
        }
        factorial = 1;
        for (int i = 1; i <= C; i++) {
            factorial *= i;
        }
        holdP0 = holdP0 + ((Math.pow(a, C)) / (factorial * (1 - ro)));
        return (1 / holdP0);*/
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel _Dia;
    private javax.swing.JLabel _Semana;
    private javax.swing.JButton _btnDetener;
    private javax.swing.JButton _btnIniciar;
    private javax.swing.JButton _btnPausar;
    private javax.swing.JButton _btnReanudar;
    private javax.swing.JLabel _cronometro;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    // End of variables declaration//GEN-END:variables

    private class Hilo extends Thread {//hilo cronometro

        @Override
        //run que lleva el tiempo de la simulación
        public void run() {
            for (horas = 8; horas < 18; horas++) {
                System.out.println("\n\n");
                switch (dia_semana) {
                    case 1:
                        System.out.println("Dia Lunes, Semana " + semana);
                        _Dia.setText("Lunes");
                        _Semana.setText(semana+"");
                        break;
                    case 2:
                        System.out.println("Dia Martes, Semana " + semana);
                        _Dia.setText("Martes");
                        _Semana.setText(semana+"");
                        break;
                    case 3:
                        System.out.println("Dia Miercoles, Semana " + semana);
                        _Dia.setText("Miercoles");
                        _Semana.setText(semana+"");
                        break;
                    case 4:
                        System.out.println("Dia Jueves, Semana " + semana);
                        _Dia.setText("Jueves");
                        _Semana.setText(semana+"");
                        break;
                    case 5:
                        System.out.println("Dia Viernes, Semana " + semana);
                        _Dia.setText("Viernes");
                        _Semana.setText(semana+"");
                        break;
                }
                System.out.println("\n\n");
                for (minutos = 0; minutos < 60; minutos++) {
                    for (segundos = 0; segundos < 60; segundos++) {

                        if (horas >= 8 && horas <= 9) {
                            if (minutos >= 0 && minutos <= 9) {
                                if (segundos >= 0 && segundos <= 9) {
                                    _cronometro.setText("0" + horas + ":0" + minutos + ":0" + segundos + " AM");
                                } else {
                                    _cronometro.setText("0" + horas + ":0" + minutos + ":" + segundos + " AM");
                                }
                            } else {
                                if (segundos >= 0 && segundos <= 9) {
                                    _cronometro.setText("0" + horas + ":" + minutos + ":0" + segundos + " AM");
                                } else {
                                    _cronometro.setText("0" + horas + ":" + minutos + ":" + segundos + " AM");
                                }
                            }
                        } else {
                            if (horas >= 10 && horas < 12) {
                                if (minutos >= 0 && minutos <= 9) {
                                    if (segundos >= 0 && segundos <= 9) {
                                        _cronometro.setText(horas + ":0" + minutos + ":0" + segundos + " AM");
                                    } else {
                                        _cronometro.setText(horas + ":0" + minutos + ":" + segundos + " AM");
                                    }
                                } else {
                                    if (segundos >= 0 && segundos <= 9) {
                                        _cronometro.setText(horas + ":" + minutos + ":0" + segundos + " AM");
                                    } else {
                                        _cronometro.setText(horas + ":" + minutos + ":" + segundos + " AM");
                                    }
                                }
                            } else {
                                if (horas >= 12 && horas < 13) {
                                    if (minutos >= 0 && minutos <= 9) {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText(horas + ":0" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText(horas + ":0" + minutos + ":" + segundos + " PM");
                                        }
                                    } else {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText(horas + ":" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText(horas + ":" + minutos + ":" + segundos + " PM");
                                        }
                                    }
                                }
                                if (horas == 13) {
                                    if (minutos >= 0 && minutos <= 9) {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("01:0" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("01:0" + minutos + ":" + segundos + " PM");
                                        }
                                    } else {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("01:" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("01:" + minutos + ":" + segundos + " PM");
                                        }
                                    }
                                }
                                if (horas == 14) {
                                    if (minutos >= 0 && minutos <= 9) {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("02:0" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("02:0" + minutos + ":" + segundos + " PM");
                                        }
                                    } else {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("02:" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("02:" + minutos + ":" + segundos + " PM");
                                        }
                                    }
                                }
                                if (horas == 15) {
                                    if (minutos >= 0 && minutos <= 9) {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("03:0" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("03:0" + minutos + ":" + segundos + " PM");
                                        }
                                    } else {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("03:" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("03:" + minutos + ":" + segundos + " PM");
                                        }
                                    }
                                }
                                if (horas == 16) {
                                    if (minutos >= 0 && minutos <= 9) {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("04:0" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("04:0" + minutos + ":" + segundos + " PM");
                                        }
                                    } else {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("04:" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("04:" + minutos + ":" + segundos + " PM");
                                        }
                                    }
                                }
                                if (horas == 17) {
                                    if (minutos >= 0 && minutos <= 9) {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("05:0" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("05:0" + minutos + ":" + segundos + " PM");
                                        }
                                    } else {
                                        if (segundos >= 0 && segundos <= 9) {
                                            _cronometro.setText("05:" + minutos + ":0" + segundos + " PM");
                                        } else {
                                            _cronometro.setText("05:" + minutos + ":" + segundos + " PM");
                                        }
                                    }
                                }
                            }
                        }
                        try {
                            Thread.sleep(1);
                        } catch (InterruptedException ex) {
                            System.out.println("Error en los segundos");
                        }
                        tiempo++;
                        if (tiempo == 179959) {
                            tiempo = 80000;
                        }
                        if (horas == 17 && minutos == 59 && segundos == 59) {
                            horas = 8;
                            minutos = segundos = 0;
                            dia_semana++;
                            for (int x = 0 ; x<entregas.size();x++) {//REVISAR LAS ENTREGAS
                                if(entregas.get(x).getDia()==dia_semana && entregas.get(x).getSemana()==semana){
                                    v_inventario.regresar(1, entregas.get(x).getTipo_toga(), entregas.get(x).getTamano(),entregas.get(x).isBabero());
                                    entregas.remove(x);
                                }
                            }
                            if (dia_semana > 5) {
                                dia_semana = 1;
                                semana++;
                            }
                        }
                    }
                }
            }
        }
    }

    private class Hilo2 extends Thread {//hilo llegadas

        @Override
        //run que lleva el tiempo de la simulación
        public void run() {
            Random r = new Random();
            float numero;
            //int he = 0, hm = 0, hs = 0, hg = 0, hc = 0, hn = 0, me = 0, mm = 0, ms = 0, mg = 0, mc = 0, mn = 0, h = 0, m = 0;
            float x;
            int y;
            boolean conformista = false;

            while (true) {
                numero = r.nextFloat();//hombre/mujer
                if (numero < 0.5) {//si hombre
                    numero = r.nextFloat();//pregrado/postgrado
                    if (numero < 0.3) {//si postgrado
                        numero = r.nextFloat();//especialista/magister
                        if (numero < 0.1) {//si especialista
                            x = (float) ((-1 / (0.33)) * Math.log(numero));//sacando el tiempo entre llegadas
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            y = (int) (x * velocidad_seg);//tiempo del sleep
                            llega += (int) y;
                            System.out.println("hombre especialista y dura para llegar " + x + " minutos");
                            x = (float) ((-1 / (0.25)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                            numero = r.nextFloat();//conformista
                            if (numero < 0.1) {
                                conformista = true;
                                System.out.println("conformista");
                            } else {
                                conformista = false;
                            }
                            numero = r.nextFloat();//pequeño/mediano-grande
                            if (numero < 0.4) {//talla pequeña
                                System.out.println("hombre talla pequeña");
                                tamanio = 'P';
                            } else {
                                if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                    System.out.println("hombre talla mediana");
                                    tamanio = 'M';
                                } else {//talla grande
                                    System.out.println("hombre talla grande");
                                    tamanio = 'G';
                                }
                            }
                            if (r.nextFloat() <= 0.5) {//elegir cola 1
                                colash1++;
                                h3.run((int) (x * velocidad_seg), 1, 'E', tamanio, false, 0);
                            } else {//elegir cola 2
                                h4.run((int) (x * velocidad_seg), 1, 'E', tamanio, false, 0);
                                colash2++;
                            }
                            numero = r.nextFloat();//lunes/miercoles-viernes
                            if (numero < 0.33) {//Acto lunes
                                System.out.println("Acto de Grado el Lunes");
                                numero = r.nextFloat();//entrega de traje
                                System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                int dia = 1 + (int) (((numero * 48) + 48) / 24);
                                while (dia > 5) {
                                    dia = dia - 5;
                                }
                                entregas.add(new Datos(dia, semana + 1, 'E', tamanio, false));
                            } else {
                                if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                    System.out.println("Acto de Grado el Miercoles");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 3 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'E', tamanio, false));
                                } else {//Acto Viernes
                                    System.out.println("Acto de Grado el Viernes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 5 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'E', tamanio, false));
                                }
                            }
                            x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                            try {
                                sleep(y);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            he++;
                        } else {//sino magister
                            x = (float) ((-1 / (0.33)) * Math.log(numero));
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                            y = (int) (x * velocidad_seg);
                            llega += (int) y;
                            System.out.println("hombre magister y dura para llegar " + x + " minutos");
                            x = (float) ((-1 / (0.25)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                            numero = r.nextFloat();//conformista
                            if (numero < 0.1) {
                                conformista = true;
                                System.out.println("conformista");
                            } else {
                                conformista = false;
                            }
                            numero = r.nextFloat();//pequeño/mediano-grande
                            if (numero < 0.4) {//talla pequeña
                                System.out.println("hombre talla pequeña");
                                tamanio = 'P';
                            } else {
                                if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                    System.out.println("hombre talla mediana");
                                    tamanio = 'M';
                                } else {//talla grande
                                    System.out.println("hombre talla grande");
                                    tamanio = 'G';
                                }
                            }
                            if (r.nextFloat() <= 0.5) {//elegir cola 1
                                colash1++;
                                h3.run((int) (x * velocidad_seg), 1, 'M', tamanio, false, 0);
                            } else {//elegir cola 2
                                h4.run((int) (x * velocidad_seg), 1, 'M', tamanio, false, 0);
                                colash2++;
                            }
                            numero = r.nextFloat();//lunes/miercoles-viernes
                            if (numero < 0.33) {//Acto lunes
                                System.out.println("Acto de Grado el Lunes");
                                numero = r.nextFloat();//entrega de traje
                                System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                int dia = 1 + (int) (((numero * 48) + 48) / 24);
                                while (dia > 5) {
                                    dia = dia - 5;
                                }
                                entregas.add(new Datos(dia, semana + 1, 'M', tamanio, false));
                            } else {
                                if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                    System.out.println("Acto de Grado el Miercoles");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 3 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'M', tamanio, false));
                                } else {//Acto Viernes
                                    System.out.println("Acto de Grado el Viernes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 5 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'M', tamanio, false));
                                }
                            }
                            x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                            try {
                                sleep(y);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            //}
                            hm++;
                        }
                    } else {//sino pregrado
                        numero = r.nextFloat();//normal/honorifica
                        if (numero < 0.05) {//honorifica
                            numero = r.nextFloat();//sumacumlaude/magnacumlaude-cumlaude
                            if (numero < 0.2) {//sumacumlaude
                                x = (float) ((-1 / (0.33)) * Math.log(numero));
                                x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                                y = (int) (x * velocidad_seg);
                                llega += (int) y;
                                System.out.println("hombre sumacumlaude y dura para llegar " + x + " minutos");
                                x = (float) ((-1 / (0.25)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                                x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                                numero = r.nextFloat();//conformista
                                if (numero < 0.1) {
                                    conformista = true;
                                    System.out.println("conformista");
                                } else {
                                    conformista = false;
                                }
                                numero = r.nextFloat();//pequeño/mediano-grande
                                if (numero < 0.4) {//talla pequeña
                                    System.out.println("hombre talla pequeña");
                                    tamanio = 'P';
                                } else {
                                    if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                        System.out.println("hombre talla mediana");
                                        tamanio = 'M';
                                    } else {//talla grande
                                        System.out.println("hombre talla grande");
                                        tamanio = 'G';
                                    }
                                }
                                if (r.nextFloat() <= 0.5) {//elegir cola 1
                                    colash1++;
                                    h3.run((int) (x * velocidad_seg), 1, 'C', tamanio, false, 0);
                                } else {//elegir cola 2
                                    h4.run((int) (x * velocidad_seg), 1, 'C', tamanio, false, 0);
                                    colash2++;
                                }
                                numero = r.nextFloat();//lunes/miercoles-viernes
                                if (numero < 0.33) {//Acto lunes
                                    System.out.println("Acto de Grado el Lunes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                    int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'C', tamanio, false));
                                } else {
                                    if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                        System.out.println("Acto de Grado el Miercoles");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'C', tamanio, false));
                                    } else {//Acto Viernes
                                        System.out.println("Acto de Grado el Viernes");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'C', tamanio, false));
                                    }
                                }
                                x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                                x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                                try {
                                    sleep(y);
                                } catch (InterruptedException ex) {
                                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                                }
                                //}
                                hs++;
                            } else {//magnacumlaude/cumlaude
                                if (numero >= 0.2 && numero < 0.4) {//magnacumlaude
                                    x = (float) ((-1 / (0.33)) * Math.log(numero));
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                                    y = (int) (x * velocidad_seg);
                                    llega += (int) y;
                                    System.out.println("hombre magnacumlaude y dura para llegar " + x + " minutos");
                                    x = (float) ((-1 / (0.25)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                                    numero = r.nextFloat();//conformista
                                    if (numero < 0.1) {
                                        conformista = true;
                                        System.out.println("conformista");
                                    } else {
                                        conformista = false;
                                    }
                                    numero = r.nextFloat();//pequeño/mediano-grande
                                    if (numero < 0.4) {//talla pequeña
                                        System.out.println("hombre talla pequeña");
                                        tamanio = 'P';
                                    } else {
                                        if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                            System.out.println("hombre talla mediana");
                                            tamanio = 'M';
                                        } else {//talla grande
                                            System.out.println("hombre talla grande");
                                            tamanio = 'G';
                                        }
                                    }
                                    if (r.nextFloat() <= 0.5) {//elegir cola 1
                                        colash1++;
                                        h3.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 2);
                                    } else {//elegir cola 2
                                        h4.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 2);
                                        colash2++;
                                    }
                                    numero = r.nextFloat();//lunes/miercoles-viernes
                                    if (numero < 0.33) {//Acto lunes
                                        System.out.println("Acto de Grado el Lunes");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                    } else {
                                        if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                            System.out.println("Acto de Grado el Miercoles");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        } else {//Acto Viernes
                                            System.out.println("Acto de Grado el Viernes");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        }
                                    }
                                    x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                                    try {
                                        sleep(y);
                                    } catch (InterruptedException ex) {
                                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                                    }
                                    //}
                                    hg++;
                                } else {//cumlaude
                                    x = (float) ((-1 / (0.33)) * Math.log(numero));
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                                    y = (int) (x * velocidad_seg);
                                    llega += (int) y;
                                    System.out.println("hombre cumlaude y dura para llegar " + x + " minutos");
                                    x = (float) ((-1 / (0.25)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                                    numero = r.nextFloat();//conformista
                                    if (numero < 0.1) {
                                        conformista = true;
                                        System.out.println("conformista");
                                    } else {
                                        conformista = false;
                                    }
                                    numero = r.nextFloat();//pequeño/mediano-grande
                                    if (numero < 0.4) {//talla pequeña
                                        System.out.println("hombre talla pequeña");
                                        tamanio = 'P';
                                    } else {
                                        if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                            System.out.println("hombre talla mediana");
                                            tamanio = 'M';
                                        } else {//talla grande
                                            System.out.println("hombre talla grande");
                                            tamanio = 'G';
                                        }
                                    }
                                    if (r.nextFloat() <= 0.5) {//elegir cola 1
                                        colash1++;
                                        h3.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 1);
                                    } else {//elegir cola 2
                                        h4.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 1);
                                        colash2++;
                                    }
                                    numero = r.nextFloat();//lunes/miercoles-viernes
                                    if (numero < 0.33) {//Acto lunes
                                        System.out.println("Acto de Grado el Lunes");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                    } else {
                                        if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                            System.out.println("Acto de Grado el Miercoles");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        } else {//Acto Viernes
                                            System.out.println("Acto de Grado el Viernes");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        }
                                    }
                                    x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                                    try {
                                        sleep(y);
                                    } catch (InterruptedException ex) {
                                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                                    }
                                    //}
                                    hc++;
                                }
                            }
                        } else {//normal
                            x = (float) ((-1 / (0.33)) * Math.log(numero));
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                            y = (int) (x * velocidad_seg);
                            llega += (int) y;
                            System.out.println("hombre normal y dura para llegar " + x + " minutos");
                            x = (float) ((-1 / (0.25)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                            numero = r.nextFloat();//conformista
                            if (numero < 0.1) {
                                conformista = true;
                                System.out.println("conformista");
                            } else {
                                conformista = false;
                            }
                            numero = r.nextFloat();//pequeño/mediano-grande
                            if (numero < 0.4) {//talla pequeña
                                System.out.println("hombre talla pequeña");
                                tamanio = 'P';
                            } else {
                                if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                    System.out.println("hombre talla mediana");
                                    tamanio = 'M';
                                } else {//talla grande
                                    System.out.println("hombre talla grande");
                                    tamanio = 'G';
                                }
                            }
                            if (r.nextFloat() <= 0.5) {//elegir cola 1
                                colash1++;
                                h3.run((int) (x * velocidad_seg), 1, 'N', tamanio, false, 0);
                            } else {//elegir cola 2
                                h4.run((int) (x * velocidad_seg), 1, 'N', tamanio, false, 0);
                                colash2++;
                            }
                            numero = r.nextFloat();//lunes/miercoles-viernes
                            if (numero < 0.33) {//Acto lunes
                                System.out.println("Acto de Grado el Lunes");
                                numero = r.nextFloat();//entrega de traje
                                System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                while (dia > 5) {
                                    dia = dia - 5;
                                }
                                entregas.add(new Datos(dia, semana + 1, 'N', tamanio, false));
                            } else {
                                if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                    System.out.println("Acto de Grado el Miercoles");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                    int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'N', tamanio, false));

                                } else {//Acto Viernes
                                    System.out.println("Acto de Grado el Viernes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                    int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'N', tamanio, false));
                                }
                            }
                            x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                            try {
                                sleep(y);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            //}
                            hn++;
                        }
                    }
                    ho++;
                } else {//sino mujer
                    numero = r.nextFloat();//pregrado/postgrado
                    if (numero < 0.3) {//si postgrado
                        numero = r.nextFloat();//especialista/magister
                        if (numero < 0.1) {//si especialista
                            x = (float) ((-1 / (0.33)) * Math.log(numero));
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                            y = (int) (x * velocidad_seg);
                            llega += (int) y;
                            System.out.println("mujer especialista y dura para llegar " + x + " minutos");
                            x = (float) ((-1 / (0.17)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                            numero = r.nextFloat();//conformista
                            if (numero < 0.1) {
                                conformista = true;
                                System.out.println("conformista");
                            } else {
                                conformista = false;
                            }
                            numero = r.nextFloat();//pequeño/mediano-grande
                            if (numero < 0.4) {//talla pequeña
                                System.out.println("mujer talla pequeña");
                                tamanio = 'P';
                            } else {
                                if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                    System.out.println("mujer talla mediana");
                                    tamanio = 'M';
                                } else {//talla grande
                                    System.out.println("mujer talla grande");
                                    tamanio = 'G';
                                }
                            }
                            if (r.nextFloat() <= 0.5) {//elegir cola 1
                                colasm1++;
                                h5.run((int) (x * velocidad_seg), 1, 'E', tamanio, false, 0);
                            } else {//elegir cola 2
                                h6.run((int) (x * velocidad_seg), 1, 'E', tamanio, false, 0);
                                colasm2++;
                            }
                            numero = r.nextFloat();//lunes/miercoles-viernes
                            if (numero < 0.33) {//Acto lunes
                                System.out.println("Acto de Grado el Lunes");
                                numero = r.nextFloat();//entrega de traje
                                System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                int dia = 1 + (int) (((numero * 48) + 48) / 24);
                                while (dia > 5) {
                                    dia = dia - 5;
                                }
                                entregas.add(new Datos(dia, semana + 1, 'E', tamanio, false));
                            } else {
                                if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                    System.out.println("Acto de Grado el Miercoles");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 3 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'E', tamanio, false));
                                } else {//Acto Viernes
                                    System.out.println("Acto de Grado el Viernes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 5 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'E', tamanio, false));
                                }
                            }
                            x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                            try {
                                sleep(y);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            //}
                            me++;
                        } else {//sino magister
                            x = (float) ((-1 / (0.33)) * Math.log(numero));
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                            y = (int) (x * velocidad_seg);
                            llega += (int) y;
                            System.out.println("mujer magister y dura para llegar " + x + " minutos");
                            x = (float) ((-1 / (0.17)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                            numero = r.nextFloat();//conformista
                            if (numero < 0.1) {
                                conformista = true;
                                System.out.println("conformista");
                            } else {
                                conformista = false;
                            }
                            numero = r.nextFloat();//pequeño/mediano-grande
                            if (numero < 0.4) {//talla pequeña
                                System.out.println("mujer talla pequeña");
                                tamanio = 'P';
                            } else {
                                if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                    System.out.println("mujer talla mediana");
                                    tamanio = 'M';
                                } else {//talla grande
                                    System.out.println("mujer talla grande");
                                    tamanio = 'G';
                                }
                            }
                            if (r.nextFloat() <= 0.5) {//elegir cola 1
                                colasm1++;
                                h5.run((int) (x * velocidad_seg), 1, 'M', tamanio, false, 0);
                            } else {//elegir cola 2
                                h6.run((int) (x * velocidad_seg), 1, 'M', tamanio, false, 0);
                                colasm2++;
                            }
                            numero = r.nextFloat();//lunes/miercoles-viernes
                            if (numero < 0.33) {//Acto lunes
                                System.out.println("Acto de Grado el Lunes");
                                numero = r.nextFloat();//entrega de traje
                                System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                int dia = 1 + (int) (((numero * 48) + 48) / 24);
                                while (dia > 5) {
                                    dia = dia - 5;
                                }
                                entregas.add(new Datos(dia, semana + 1, 'M', tamanio, false));
                            } else {
                                if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                    System.out.println("Acto de Grado el Miercoles");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 3 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'M', tamanio, false));
                                } else {//Acto Viernes
                                    System.out.println("Acto de Grado el Viernes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 48) + 48) + " horas");
                                    int dia = 5 + (int) (((numero * 48) + 48) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'M', tamanio, false));
                                }
                            }
                            x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                            try {
                                sleep(y);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            //}
                            mm++;
                        }
                    } else {//sino pregrado
                        numero = r.nextFloat();//normal/honorifica
                        if (numero < 0.05) {//honorifica
                            numero = r.nextFloat();//sumacumlaude/magnacumlaude-cumlaude
                            if (numero < 0.2) {//sumacumlaude
                                x = (float) ((-1 / (0.33)) * Math.log(numero));
                                x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                                y = (int) (x * velocidad_seg);
                                llega += (int) y;
                                System.out.println("mujer sumacumlaude y dura para llegar " + x + " minutos");
                                x = (float) ((-1 / (0.17)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                                x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                                numero = r.nextFloat();//conformista
                                if (numero < 0.1) {
                                    conformista = true;
                                    System.out.println("conformista");
                                } else {
                                    conformista = false;
                                }
                                numero = r.nextFloat();//pequeño/mediano-grande
                                if (numero < 0.4) {//talla pequeña
                                    System.out.println("mujer talla pequeña");
                                    tamanio = 'P';
                                } else {
                                    if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                        System.out.println("mujer talla mediana");
                                        tamanio = 'M';
                                    } else {//talla grande
                                        System.out.println("mujer talla grande");
                                        tamanio = 'G';
                                    }
                                }
                                if (r.nextFloat() <= 0.5) {//elegir cola 1
                                    colasm1++;
                                    h5.run((int) (x * velocidad_seg), 1, 'C', tamanio, false, 0);
                                } else {//elegir cola 2
                                    h6.run((int) (x * velocidad_seg), 1, 'C', tamanio, false, 0);
                                    colasm2++;
                                }
                                numero = r.nextFloat();//lunes/miercoles-viernes
                                if (numero < 0.33) {//Acto lunes
                                    System.out.println("Acto de Grado el Lunes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                    int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'C', tamanio, false));
                                } else {
                                    if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                        System.out.println("Acto de Grado el Miercoles");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'C', tamanio, false));
                                    } else {//Acto Viernes
                                        System.out.println("Acto de Grado el Viernes");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'C', tamanio, false));
                                    }
                                }
                                x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                                x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                                try {
                                    sleep(y);
                                } catch (InterruptedException ex) {
                                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                                }
                                //}
                                ms++;
                            } else {//magnacumlaude/cumlaude
                                if (numero >= 0.2 && numero < 0.4) {//magnacumlaude
                                    x = (float) ((-1 / (0.33)) * Math.log(numero));
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                                    y = (int) (x * velocidad_seg);
                                    llega += (int) y;
                                    System.out.println("mujer magnacumlaude y dura para llegar " + x + " minutos");
                                    x = (float) ((-1 / (0.17)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                                    numero = r.nextFloat();//conformista
                                    if (numero < 0.1) {
                                        conformista = true;
                                        System.out.println("conformista");
                                    } else {
                                        conformista = false;
                                    }
                                    numero = r.nextFloat();//pequeño/mediano-grande
                                    if (numero < 0.4) {//talla pequeña
                                        System.out.println("mujer talla pequeña");
                                        tamanio = 'P';
                                    } else {
                                        if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                            System.out.println("mujer talla mediana");
                                            tamanio = 'M';
                                        } else {//talla grande
                                            System.out.println("mujer talla grande");
                                            tamanio = 'G';
                                        }
                                    }
                                    if (r.nextFloat() <= 0.5) {//elegir cola 1
                                        colasm1++;
                                        h5.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 2);
                                    } else {//elegir cola 2
                                        h6.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 2);
                                        colasm2++;
                                    }
                                    numero = r.nextFloat();//lunes/miercoles-viernes
                                    if (numero < 0.33) {//Acto lunes
                                        System.out.println("Acto de Grado el Lunes");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                    } else {
                                        if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                            System.out.println("Acto de Grado el Miercoles");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        } else {//Acto Viernes
                                            System.out.println("Acto de Grado el Viernes");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        }
                                    }
                                    x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                                    try {
                                        sleep(y);
                                    } catch (InterruptedException ex) {
                                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                                    }
                                    //}
                                    mg++;
                                } else {//cumlaude
                                    x = (float) ((-1 / (0.33)) * Math.log(numero));
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                                    y = (int) (x * velocidad_seg);
                                    llega += (int) y;
                                    System.out.println("mujer cumlaude y dura para llegar " + x + " minutos");
                                    x = (float) ((-1 / (0.17)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                                    numero = r.nextFloat();//conformista
                                    if (numero < 0.1) {
                                        conformista = true;
                                        System.out.println("conformista");
                                    } else {
                                        conformista = false;
                                    }
                                    numero = r.nextFloat();//pequeño/mediano-grande
                                    if (numero < 0.4) {//talla pequeña
                                        System.out.println("mujer talla pequeña");
                                        tamanio = 'P';
                                    } else {
                                        if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                            System.out.println("mujer talla mediana");
                                            tamanio = 'M';
                                        } else {//talla grande
                                            System.out.println("mujer talla grande");
                                            tamanio = 'G';
                                        }
                                    }
                                    if (r.nextFloat() <= 0.5) {//elegir cola 1
                                        colasm1++;
                                        h5.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 1);
                                    } else {//elegir cola 2
                                        h6.run((int) (x * velocidad_seg), 1, 'N', tamanio, true, 1);
                                        colasm2++;
                                    }
                                    numero = r.nextFloat();//lunes/miercoles-viernes
                                    if (numero < 0.33) {//Acto lunes
                                        System.out.println("Acto de Grado el Lunes");
                                        numero = r.nextFloat();//entrega de traje
                                        System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                        int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                        while (dia > 5) {
                                            dia = dia - 5;
                                        }
                                        entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                    } else {
                                        if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                            System.out.println("Acto de Grado el Miercoles");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        } else {//Acto Viernes
                                            System.out.println("Acto de Grado el Viernes");
                                            numero = r.nextFloat();//entrega de traje
                                            System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                            int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                            while (dia > 5) {
                                                dia = dia - 5;
                                            }
                                            entregas.add(new Datos(dia, semana + 1, 'N', tamanio, true));
                                        }
                                    }
                                    x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                                    x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                                    System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                                    try {
                                        sleep(y);
                                    } catch (InterruptedException ex) {
                                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                                    }
                                    //}
                                    mc++;
                                }
                            }
                        } else {//normal
                            x = (float) ((-1 / (0.33)) * Math.log(numero));
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));
                            y = (int) (x * velocidad_seg);
                            llega += (int) y;
                            System.out.println("mujer normal y dura para llegar " + x + " minutos");
                            x = (float) ((-1 / (0.17)) * Math.log(numero));//sacando el tiempo de seleccion de hombres
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("tiempo que dura probandose el traje " + x + " minutos");
                            numero = r.nextFloat();//conformista
                            if (numero < 0.1) {
                                conformista = true;
                                System.out.println("conformista");
                            } else {
                                conformista = false;
                            }
                            numero = r.nextFloat();//pequeño/mediano-grande
                            if (numero < 0.4) {//talla pequeña
                                System.out.println("mujer talla pequeña");
                                tamanio = 'P';
                            } else {
                                if (numero >= 0.4 && numero < 0.75) {//talla mediana
                                    System.out.println("mujer talla mediana");
                                    tamanio = 'M';
                                } else {//talla grande
                                    System.out.println("mujer talla grande");
                                    tamanio = 'G';
                                }
                            }
                            if (r.nextFloat() <= 0.5) {//elegir cola 1
                                colasm1++;
                                h5.run((int) (x * velocidad_seg), 1, 'N', tamanio, false, 0);
                            } else {//elegir cola 2
                                h6.run((int) (x * velocidad_seg), 1, 'N', tamanio, false, 0);
                                colasm2++;
                            }
                            numero = r.nextFloat();//lunes/miercoles-viernes
                            if (numero < 0.33) {//Acto lunes
                                System.out.println("Acto de Grado el Lunes");
                                numero = r.nextFloat();//entrega de traje
                                System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                int dia = 1 + (int) (((numero * 36) + 36) / 24);
                                while (dia > 5) {
                                    dia = dia - 5;
                                }
                                entregas.add(new Datos(dia, semana + 1, 'N', tamanio, false));
                            } else {
                                if (numero >= 0.33 && numero < 0.66) {//Acto Miercoles
                                    System.out.println("Acto de Grado el Miercoles");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                    int dia = 3 + (int) (((numero * 36) + 36) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'N', tamanio, false));
                                } else {//Acto Viernes
                                    System.out.println("Acto de Grado el Viernes");
                                    numero = r.nextFloat();//entrega de traje
                                    System.out.println("Entrega el traje a las " + ((numero * 36) + 36) + " horas");
                                    int dia = 5 + (int) (((numero * 36) + 36) / 24);
                                    while (dia > 5) {
                                        dia = dia - 5;
                                    }
                                    entregas.add(new Datos(dia, semana + 1, 'N', tamanio, false));
                                }
                            }
                            x = (float) ((-1 / (0.67)) * Math.log(numero));//sacando el tiempo que dura para que le reciban el traje
                            x = (float) (Math.floor(x * Math.pow(10, 2)) / Math.pow(10, 2));//trunca dos decimales
                            System.out.println("Tiempo que tarda en ser atendido al entregar el traje " + x + " minutos");
                            try {
                                sleep(y);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            //}
                            mn++;
                        }
                    }
                    m++;
                }
                System.out.println("<--------------------------------------------------------->");
                if (llega >= 179959) {
                    llega = 80000;
                }
            }
        }
    }

    private class Hilo3 extends Thread {//hilo servidor hombres 1

        LinkedList cola = new LinkedList();
        boolean alquilo;

        public void run(int time, int cantidad, char tipo, char tam, boolean babero, int t_babero) {
            cola.offer(time);
            
            
            if (cola.peek() != null) {
                cola_clientes++;
                cola1++;
                tiempo_cola+=time;
                tiempo_cola1+=time;
                //L+=((time-tsuc)/60)*cola1;
                //Lq1+=((time-tsucq1)/60)*cola1;
                //tsuc = tsucq1 = time;
                try {
                    Thread.sleep((int) cola.poll());
                } catch (InterruptedException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
                alquilo = v_inventario.alquilar(1, tipo, tam, babero);
                v_servidorh1.mostar_servicioh1(tipo, t_babero, 'h', tam);
                 v_ganancias.mostar_ganancias(v_inventario);
                if (alquilo) {
                    v_mostradores.mostar_h1(tipo, t_babero);
                    System.out.println("Alquilo");
                } else {
                    System.out.println("No alquilo");
                    no_alquilo++;
                }
                colash1--;
            }
        }
    }

    private class Hilo4 extends Thread {//hilo servidor hombres 2

        LinkedList cola = new LinkedList();
        boolean alquilo;

        public void run(int time, int cantidad, char tipo, char tam, boolean babero, int t_babero) {
            cola.offer(time);
            if (cola.peek() != null) {
                cola_clientes++;
                cola2++;
                tiempo_cola+=time;
                tiempo_cola2+=time;
                //L+=((time-tsuc)/60)*cola2;
                //Lq2+=((time-tsucq2)/60)*cola2;
                //tsuc = tsucq2 = time;
                try {
                    Thread.sleep((int) cola.poll());
                } catch (InterruptedException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
                alquilo = v_inventario.alquilar(1, tipo, tam, babero);
                v_servidorh2.mostar_servicioh2(tipo, t_babero, 'h', tam);
                 v_ganancias.mostar_ganancias(v_inventario);
                if (alquilo) {
                    v_mostradores.mostar_h2(tipo, t_babero);
                    System.out.println("Alquilo");
                } else {
                    System.out.println("No alquilo");
                    no_alquilo++;
                }
                colash2--;
            }
        }
    }

    private class Hilo5 extends Thread {//hilo servidor mujeres 1

        LinkedList cola = new LinkedList();
        boolean alquilo;

        public void run(int time, int cantidad, char tipo, char tam, boolean babero, int t_babero) {
            cola.offer(time);
            if (cola.peek() != null) {
                cola_clientes++;
                cola3++;
                tiempo_cola+=time;
                tiempo_cola3+=time;
                //L+=((time-tsuc)/60)*cola3;
                //Lq3+=((time-tsucq3)/60)*cola3;
                //tsuc = tsucq3 = time;
                try {
                    Thread.sleep((int) cola.poll());
                } catch (InterruptedException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
                alquilo = v_inventario.alquilar(1, tipo, tam, babero);
                v_servidorm1.mostar_serviciom1(tipo, t_babero, 'm', tam);
                 v_ganancias.mostar_ganancias(v_inventario);
                if (alquilo) {
                    v_mostradores.mostar_m1(tipo, t_babero);
                    System.out.println("Alquilo");
                } else {
                    System.out.println("No alquilo");
                    no_alquilo++;
                }
                colasm1--;
            }
        }
    }

    private class Hilo6 extends Thread {//hilo servidor mujeres 2

        LinkedList cola = new LinkedList();
        boolean alquilo;

        public void run(int time, int cantidad, char tipo, char tam, boolean babero, int t_babero) {
            cola.offer(time);
            if (cola.peek() != null) {
                cola_clientes++;
                tiempo_cola+=time;
                tiempo_cola4+=time;
                cola4++;
                //L+=((time-tsuc)/60)*cola1;
                //Lq4+=((time-tsucq4)/60)*cola4;
                //tsuc = tsucq4 = time;
                try {
                    Thread.sleep((int) cola.poll());
                } catch (InterruptedException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
                alquilo = v_inventario.alquilar(1, tipo, tam, babero);
                v_servidorm2.mostar_serviciom2(tipo, t_babero, 'm', tam);
                 v_ganancias.mostar_ganancias(v_inventario);
                if (alquilo) {
                    v_mostradores.mostar_m2(tipo, t_babero);
                    System.out.println("Alquilo");
                } else {
                    System.out.println("No alquilo");
                    no_alquilo++;
                }
                colasm2--;
            }
        }
    }

    private class Hilo7 extends Thread {//hilo servidor entregas

        LinkedList cola = new LinkedList();
        boolean alquilo;

        public void run(int time, int cantidad, char tipo, char tam, boolean babero) {
            cola.offer(time);
            if (cola.peek() != null) {
                try {
                    Thread.sleep((int) cola.poll());
                } catch (InterruptedException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
                alquilo = v_inventario.alquilar(1, tipo, tam, babero);
                if (alquilo) {
                    System.out.println("Alquilo");
                } else {
                    System.out.println("No alquilo");
                    no_alquilo++;
                }
                colae--;
            }
        }
    }
}
